package com.he.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.he.domain.dto.CategoryDTO;
import com.he.domain.dto.ConditionDTO;
import com.he.domain.dto.PageResult;
import com.he.domain.vo.ArticleConditionList;
import com.he.domain.vo.CategoryBackVO;
import com.he.domain.vo.CategoryOptionVO;
import com.he.domain.vo.CategoryVO;
import com.he.entity.Category;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author He
 * @version 1.0
 * @Date 2023/9/17 17:02
 * @Desc 分类数量Service
 */
@Service
public interface CategoryService extends IService<Category> {

    /**
     * 查看分类列表
     *
     * @return 分类列表
     */
    List<CategoryVO> listCategoryVO();

    /**
     * 查看分类下的文章列表
     *
     * @param conditionDTO 条件
     * @return 分类文章列表
     */
    ArticleConditionList listCategoryArticleVO(ConditionDTO conditionDTO);


    /**
     * 获取分类选项
     *
     * @return 分类选项
     */
    List<CategoryOptionVO> listCategoryOption();

    /**
     * 查看后台分类列表
     *
     * @param condition 查询条件
     * @return 后台分类列表
     */
    PageResult<CategoryBackVO> listCategoryBackVO(ConditionDTO condition);

    void addCategory(CategoryDTO category);

    void deleteCategory(List<Integer> categoryIdList);

    void updateCategory(CategoryDTO category);
}
